package tv.huan.tencent.service;

import tv.huan.tencent.domain.CardPool;
import java.util.List;

/**
 * 卡池Service接口
 * 
 * @author admin
 * @date 2020-12-23
 */
public interface ICardPoolService 
{
    /**
     * 查询卡池
     * 
     * @param cardId 卡池ID
     * @return 卡池
     */
    public CardPool selectCardPoolById(Integer cardId);

    /**
     * 卡池是否存在
     *
     * @param cardPool 卡池
     * @return 卡池
     */
    public CardPool checkCardPool(CardPool cardPool);

    /**
     * 根据卡池所属scope、类型type查询卡池
     *
     * @param cardScope
     * @param cardType
     * @return 卡池
     */
    public CardPool selectCardPoolByScopeAndType(Integer cardScope, Integer cardType);

    /**
     * 查询卡池列表
     * 
     * @param cardPool 卡池
     * @return 卡池集合
     */
    public List<CardPool> selectCardPoolList(CardPool cardPool);

    /**
     * 新增卡池
     * 
     * @param cardPool 卡池
     * @return 结果
     */
    public int insertCardPool(CardPool cardPool);

    /**
     * 修改卡池
     * 
     * @param cardPool 卡池
     * @return 结果
     */
    public int updateCardPool(CardPool cardPool);

    /**
     * 批量删除卡池
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteCardPoolByIds(String ids);

    /**
     * 删除卡池信息
     * 
     * @param cardId 卡池ID
     * @return 结果
     */
    public int deleteCardPoolById(Integer cardId);

    /**
     * 检查卡池余量并发送告警邮件
     *
     * @return 结果
     */
    public void checkCardPoolAndSendEmail();
}
